As demand for multicast services continues to grow, service providers continue to seek low-cost, bandwidth-efficient, and fault-resilient multicast transport capabilities for supporting multicast services. Multi-Protocol Label Switching (MPLS) enables efficient delivery of a wide variety of differentiated, end-to-end services using label switched paths (LSPs). In many MPLS networks, Point-to-Multipoint (P2MP) trees are used for supporting multicast streams transporting various services. In such networks, the network egress node, from which multicast streams exit the MPLS network, receives packets via two P2MP LSP trees, namely, a primary P2MP LSP tree and a standby P2MP LSP tree. The network egress node accepts packets from the primary P2MP LSP tree until it fails, at which time the network egress node switches to accepting packets from the standby P2MP LSP tree until the primary P2MP LSP tree is restored.
Disadvantageously, however, existing multicast tree switching mechanisms on network egress nodes are not fast enough. In existing network egress nodes, the forwarding engine of the network egress node includes MPLS LABEL Records and a MULTICAST Record, and the existing multicast tree switching mechanism on the existing network egress node requires all of the channel records of the MUSTICAST Record of the network egress node to be reprogrammed, after failure of the primary P2MP LSP tree, before traffic may be accepted via the standby P2MP LSP tree. As a result, for a MULTICAST Record having n channel records, reprogramming of the MULTICAST Record is an order O(n) operation, which may result in a fair amount of traffic loss to complete. Thus, in existing network egress nodes, traffic is lost when the network egress nodes switch between primary and standby multicast trees, which may be unacceptable under service level agreement (SLAs) or in terms of subscriber quality of experience.